package com.fishery.customization.service;


import java.util.List;
import java.util.Map;

public interface LabelService {

	/**
	 * 获取标签Json
	 *
	 * @param baseId
	 * @param role
	 * @return
	 */
	String getLabelsJsonByBaseIdAndRoleAndUserId(String baseId, String role, String userId);

	/**
	 * 更新基地的角色的标签
	 *
	 * @param baseId
	 * @param role
	 * @param functionMap
	 * @return
	 */
	boolean updateLabelsForRoleOfBase(String baseId, String role, Map<String, String> functionMap);

	/**
	 * 创建基地标签
	 *
	 * @param baseId
	 * @return
	 */
	boolean createLabelsOfBase(String baseId, List<String> types);

	/**
	 * 拓展基地标签
	 *
	 * @param baseId
	 * @param types
	 * @return
	 */
	boolean extendLabelsOfBase(String baseId, List<String> types);

	/**
	 * 通过基地id查询基地类型
	 *
	 * @param baseId
	 * @return
	 */
	List<String> getTypesOfBase(String baseId);

	/**
	 * 给基地角色创建标签
	 *
	 * @param baseId
	 * @param role
	 * @return
	 */
	boolean createLabelsForRoleOfBase(String baseId, String role);

	/**
	 * 通过基地ID更新基地角色名
	 *
	 * @param baseId
	 * @param oldName
	 * @param newName
	 * @return
	 */
	boolean updateNameOfBaseRoleByBaseId(String baseId, String oldName, String newName);

	/**
	 * 通过基地ID和角色名获取json标签
	 *
	 * @param baseId
	 * @param role
	 * @return
	 */
	String getLabelsJsonByBaseIdAndRole(String baseId, String role);
}
